šŸ” API de Autenticação - Documentação Completa

šŸ“‹ VisĆ£o Geral

A API de Autenticação é responsÔvel por toda a gestão de autenticação e autorização no sistema CordenaAi, incluindo login, registro de usuÔrios, recuperação de senha, confirmação de email, validação de tokens JWT e integração com o sistema de corresponsÔveis. O sistema utiliza ASP.NET Core Identity com JWT para autenticação segura.

šŸŽÆ Endpoints DisponĆ­veis

1. POST /api/autenticacao/token

Obter Token JWT

2. POST /api/autenticacao/login

Login Completo

3. GET /api/autenticacao/validar-token

Validar Token JWT

4. POST /api/autenticacao/registrar

Registrar Novo UsuƔrio

5. POST /api/autenticacao/verificar-convite-pendente

Verificar Convite Pendente

6. GET /api/autenticacao/verificar-token-convite/{tokenConvite}

Verificar Token de Convite

7. POST /api/autenticacao/registrar-com-convite

Registrar com Convite

8. GET /api/autenticacao/confirmar-email

Confirmar Email

9. POST /api/autenticacao/forgot-password

Solicitar Recuperação de Senha

10. POST /api/autenticacao/reset-password

Redefinir Senha

11. GET /api/autenticacao/reset-password

PÔgina de Redefinição de Senha

šŸ”§ Modelo de Dados

Estrutura do LoginRequest

{
  "userName": "string",
  "password": "string",
  "tipo": "user" | "app"
}

Estrutura do CriarUsuarioRequest

{
  "userName": "string",
  "email": "string",
  "password": "string",
  "nome": "string",
  "nomeSocial": "string",
  "cpf": "string",
  "celular": "string",
  "genero": "string",
  "dataNascimento": "datetime",
  "foto": "string",
  "aceiteReceberComunicado": "boolean",
  "aceiteTermosLgpd": "boolean",
  "status": "string",
  "dataCadastro": "datetime",
  "dataAtualizacao": "datetime"
}

Estrutura do LoginResult

{
  "status": "boolean",
  "message": "string",
  "token": {
    "token": "string",
    "dtEmissao": "datetime",
    "dtExpiracao": "datetime"
  },
  "usuario": {
    "id": "string",
    "nome": "string",
    "email": "string",
    "userName": "string",
    "cpf": "string",
    "celular": "string",
    "status": "string"
  }
}

šŸ” Autenticação e Autorização

Tipos de Autenticação

PermissƵes por Endpoint

šŸ“Š Casos de Uso Principais

1. Fluxo de Login

POST /api/autenticacao/login
Content-Type: application/json

{
  "userName": "[email protected]",
  "password": "senha123",
  "tipo": "user"
}

2. Fluxo de Registro

POST /api/autenticacao/registrar
Content-Type: application/json

{
  "userName": "[email protected]",
  "email": "[email protected]",
  "password": "senha123",
  "nome": "Novo UsuƔrio",
  "cpf": "12345678901",
  "celular": "11999999999"
}

3. Fluxo de Recuperação de Senha

POST /api/autenticacao/forgot-password
Content-Type: application/json

{
  "email": "[email protected]"
}

4. Fluxo de Redefinição de Senha

POST /api/autenticacao/reset-password
Content-Type: application/json

{
  "userId": "user-id",
  "code": "verification-code",
  "newPassword": "novaSenha123"
}

āš ļø ValidaƧƵes e Regras de Negócio

Validações Obrigatórias

Regras de Negócio

🚨 Tratamento de Erros

Códigos de Status HTTP

Formato de Erro

{
  "error": "string",
  "message": "string",
  "details": "string",
  "timestamp": "datetime"
}

šŸ“ˆ Performance e LimitaƧƵes

LimitaƧƵes

OtimizaƧƵes

šŸ”„ Integração com Outros Módulos

Módulos Relacionados

šŸ“± Uso em AplicaƧƵes

Web App

Mobile App

API Externa

šŸ› ļø Manutenção e Monitoramento

Logs Importantes

MƩtricas Monitoradas

šŸ“š Exemplos PrĆ”ticos

Fluxo Completo de Registro

  1. Validação de dados no backend pela própria API
  2. POST /api/autenticacao/verificar-convite-pendente para verificar convites
  3. POST /api/autenticacao/registrar com dados validados
  4. Envio de email de confirmação automÔtico
  5. GET /api/autenticacao/confirmar-email para ativar conta
  6. POST /api/autenticacao/login para primeiro acesso

Fluxo de Recuperação de Senha

  1. POST /api/autenticacao/forgot-password com email
  2. Envio de email com link de recuperação
  3. GET /api/autenticacao/reset-password para acessar pƔgina
  4. POST /api/autenticacao/reset-password com nova senha
  5. POST /api/autenticacao/login com nova senha

Integração com CorresponsÔveis

  1. Verificação de convite antes do registro
  2. Registro com associação automÔtica ao corresponsÔvel
  3. Notificação ao corresponsÔvel sobre novo usuÔrio
  4. Ativação da relação corresponsÔvel-atleta

Versão: 1.0
Última Atualização: Outubro de 2025
ResponsƔvel: Equipe de Desenvolvimento CordenaAi